package com.jeeplus.modules.sys.service;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.jeeplus.common.service.BaseService;
import com.jeeplus.modules.sys.dao.OfficeDao;
import com.jeeplus.modules.sys.dao.RoleDao;
import com.jeeplus.modules.sys.dao.UserDao;
import com.jeeplus.modules.sys.entity.Office;
import com.jeeplus.modules.sys.entity.Role;
import com.jeeplus.modules.sys.entity.User;
import com.jeeplus.modules.sys.utils.UserUtils;

/**
 * 获取该用户下的部门管理员
 * @author jeeplus
 * @version 2013-12-05
 */
@Service("user4FlowService")
public class User4FlowService extends BaseService implements InitializingBean {
	@Autowired
	private UserDao userDao;
	@Autowired
	private RoleDao roleDao;
	@Autowired
	private OfficeDao officeDao;
	/**
	 * 根据用户名找到该用户名下的部门下的部门负责人
	 * @param applyUserName  注意是登录名
	 * @return
	 */
	public List<String> findDeptLeader(String applyUserName){
		User applyUser = UserUtils.getByLoginName(applyUserName);
		//Office office = officeDao.findOfficeByUserId(applyUserId);
		//获得该用户的部门下所有用户
		List<User> users = userDao.findUserByOfficeId(applyUser);
		List<String> uids = new ArrayList<String>();
		
		for(User u: users){
			//每个用户的角色
			Role role = new Role();
			role.setUser(u);
			List<Role> list = roleDao.findList(role);
			boolean isHave = false;
			for(Role r : list){
				if(r.getEnname().equals("dept_leader")){
					isHave = true;
				}
			}
			
			if(isHave){
				uids.add(u.getLoginName());
			}
		}
		
		return uids;
	}
	
	
	@Override
	public void afterPropertiesSet() throws Exception {
		
	}
}
